#ifndef __WIZ_BNF_PARSER_CHAR_CHECK_HPP__SHANHAOBO_19800429__
#define __WIZ_BNF_PARSER_CHAR_CHECK_HPP__SHANHAOBO_19800429__

#include "./WizBNFParserChar.hpp"

namespace Wiz
{
    namespace BNF
    {
        namespace Parser
        {
            namespace Char
            {
                namespace Check
                {
                    template <typename CharT = ::Wiz::Char::Type>
                    struct Type : public ::Wiz::BNF::Parser::Char::Type<Type<CharT>>
                    {
                        Type(CharT Chr) : m_Char(Chr)
                        {}

                        template <class CharT2>
                        ::Wiz::Bool::Type Test(CharT2 Chr) const
                        {
                            return Chr == m_Char;
                        }
                    private:
                        CharT m_Char;
                    }; /// end of struct Type
                } /// end of namespace Check
            } /// end of namespace Char
        } /// end of namespace Parser
    } /// end of namespace BNF
} /// end of namespace Wiz

#endif /*__WIZ_BNF_PARSER_CHAR_CHECK_HPP__SHANHAOBO_19800429__*/
